﻿/*
可排列相等 
Time Limit:1000MS  Memory Limit:32768K

  
Description:
如果一个字串，通过颠来倒去的位置重组能够转变成另一个字串，那么就称为“可排列相等”。
给出一些文字行，它们两两成对，中间空一行。请你逐一判断它们每一对是否“可排列相等”。

Sample Input:
Oh, my goodnessmultiple lines!
yg doo, shOmens emlusleip!tlin
perplexed
exdrelper
Sample Output:
yes
no
*/

#include <iostream>
#include <algorithm>
#include <string>

using namespace std;

int main(int argc, char* argv[])
{
	for (string s, s1, s2; getline(cin, s1) && getline(cin, s2);)
	{
		getline(cin, s);
		sort(s1.begin(), s1.end());
		sort(s2.begin(), s2.end());
		
		cout<<(s1==s2 ? "yes": "no")<<endl;
	}

	return 0;
}
